OpenJIT: An Open-Ended, Reflective JIT Compiler Framework for Java

نویسندگان

  • Hirotaka Ogawa
  • Kouya Shimura
  • Satoshi Matsuoka
  • Fuyuhiko Maruyama
  • Yukihiko Sohda
  • Yasunori Kimura
چکیده

OpenJIT is an open-ended, reflective JIT compiler framework for Java being researched and developed in a joint project by Tokyo Inst. Tech. and Fujitsu Ltd. Although in general self-descriptive systems have been studied in various contexts such as reflection and interpreter/compiler bootstrapping, OpenJIT is a first system we know to date that offers a stable, full-fledged Java JIT compiler that plugs into existing monolithic JVMs, and offer competitive performance to JITs typically written in C or C++. This is in contrast to previous work where compilation did not occur in the execution phase, customized VMs being developed ground-up, performance not competing with existing optimizing JIT compilers, and/or only a subset of the Java language being supported. The main contributions of this paper are, 1) we propose an architecture for a reflective JIT compiler on a monolithic VM, and identify the technical challenges as well as the techniques employed, 2) We define an API that adds to the existing JIT compiler APIs in “classic” JVM to allow reflective JITs to be constructed, 3) We show detailed benchmarks of run-time behavior of OpenJIT to demonstrate that, while being competitive with existing JITs the timeand space-overheads of compiler metaobjects that exist in the heap are small and manageable. Being an object-oriented compiler framework, OpenJIT can be configured to be small and portable or fully-fledged optimizing compiler framework in the spirit of SUIF. It is fully JCK compliant, and runs all large Java applications we have tested to date including HotJava. We are currently distributing OpenJIT for free to foster further research into advanced compiler optimization, compile-time reflection, advanced run-time support for languages, as well as other areas such as embedded computing, metacomputing, and ubiquitous computing.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

OpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend

OpenJIT is an open-ended, reflective JIT compiler framework for Java being researched and developed in a joint project by Tokyo Inst. Tech. and Fujitsu Ltd. Although in general self-descriptive systems have been studied in various contexts such as reflection and interpreter/compiler bootstrapping, OpenJIT is a first system we know to date that offers a stable, full-fledged Java JIT compiler tha...

متن کامل

OpenJIT—A Reflective Java JIT Compiler

The so-called ‘Open Compilers’ is a technique to incorporate various self-descriptive modules for language customization and optimization based on computational reflection. We apply the open compiler technique to a Java Just-In-Time compiler to develop the OpenJIT compiler, which allows class-specific customization and optimization, fostering research of new compilation techniques such as appli...

متن کامل

OpenJIT 2: The Design and Implementation of Application Framework for JIT Compilers

We are currently working on a new architecture for Java JIT compilers to allow coexistence of multiple, customized JIT compilers in a single Java VM simultaneously without prohibitive space or programming costs, called OpenJIT2. The project builds on the success of OpenJIT1, the rst open-ended JIT compiler for Java written in Java. Not only that our new architecture subsumes the so-called `bi-l...

متن کامل

Openjit|a Re Blockinective Java Jit Compiler | Short Version for the Oopsla'98 Re Blockinection Workshop |

The so-called `Open Compilers' is a technique to incorporate various self-descriptive modules for language customization and optimization based on computational re ection. We apply the open compiler technique to a Java Just-In-Time compiler to develop the OpenJIT compiler, which allows class-speci c customization and optimization, fostering research of new compilation techniques such as applica...

متن کامل

Openjit|a Reeective J a Va Jit Compiler | Short Version for the Oopsla'98 Reeection Workshop |

The so-called `Open Compilers' is a technique to incorporate various self-descriptive modules for language customization and optimization based on computational re ection. We apply the open compiler technique to a Java Just-In-Time compiler to develop the OpenJIT compiler, which allows class-speci c customization and optimization, fostering research of new compilation techniques such as applica...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000